/*
******************************************************************************************************* 
**  Copyright (C) 2019, 苏州检易生物科技有限公司 
**  All rights reserved. 
** 
**  FileName:       	app_msg.h
**  Description:	
**  Author:        	 
**  Version				v0.1
**  Date:           	2019-05-09
**	Function List： 
**  History:         
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*                                              	防止重复包含
*********************************************************************************************************
*/

#ifndef _APP_MSG_H_
#define _APP_MSG_H_
/*
*********************************************************************************************************
*                                              	调试开关
*********************************************************************************************************
*/



/*
*********************************************************************************************************
*                                              	头文件
*********************************************************************************************************
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <rtthread.h>

#include "stm32h7xx_hal.h"

#include "log_console.h"

/*
*********************************************************************************************************
*                                              	宏定义
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                              枚举和结构体类型定义
*********************************************************************************************************
*/


typedef struct app_msg{
	uint32_t event;
	uint32_t data;
}app_msg_t;

/*
*********************************************************************************************************
*                                              	全局变量声明
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                              	函数声明
*********************************************************************************************************
*/
int app_msg_pool_init(void);  

int app_msg_send(uint32_t event, uint32_t data,struct rt_mailbox* p_mailbox);

void app_msg_free(app_msg_t *p_msg);

app_msg_t * app_msg_recv(struct rt_mailbox* p_mailbox,rt_int32_t timeout);
#endif
